如今,監(jiān)控非常重要。這是為什么?因?yàn)閼?yīng)用程序變得越來越復(fù)雜。但不僅是應(yīng)用程序——基礎(chǔ)設(shè)施也變得復(fù)雜。一些公司正在遷移到云端;其他人正在構(gòu)建混合基礎(chǔ)設(shè)施。如果某些基礎(chǔ)設(shè)施在云中,而其他基礎(chǔ)設(shè)施在本地,那么如何獲得整個(gè)基礎(chǔ)設(shè)施的概覽就會(huì)更加模糊。在這篇文章中,您將學(xué)習(xí)如何很好地監(jiān)控混合云基礎(chǔ)架構(gòu)。
什么是混合云監(jiān)控?
首先,讓我們澄清一下混合云監(jiān)控與傳統(tǒng)監(jiān)控的不同之處。最大的不同是我們有兩個(gè)非常不同的基礎(chǔ)設(shè)施需要監(jiān)控。用于本地監(jiān)控的傳統(tǒng)工具在云環(huán)境中表現(xiàn)不佳,反之亦然。因此,要么您需要做出妥協(xié)并使用兩種不同的監(jiān)控解決方案,要么您需要找到一種同時(shí)適用于本地和云基礎(chǔ)設(shè)施的解決方案。因此,讓我們討論一下您通常如何監(jiān)控這兩者,然后我們將了解如何創(chuàng)建良好的混合云監(jiān)控。
監(jiān)控本地基礎(chǔ)設(shè)施
當(dāng)您必須處理裸機(jī)服務(wù)器和您自己的網(wǎng)絡(luò)設(shè)備時(shí),您將專注于與在云中不同的事情。您必須查看所有低級(jí)指標(biāo),例如 CPU 溫度、硬盤運(yùn)行狀況、負(fù)載平衡器飽和度等。即使您在裸機(jī)之上有一些抽象層(例如,虛擬化或容器編排) ),您仍然需要監(jiān)控底層機(jī)器。您甚至可能需要監(jiān)控冷卻風(fēng)扇速度和UPS狀態(tài)等內(nèi)容。
您的本地監(jiān)控目標(biāo)也將與您在云中進(jìn)行的監(jiān)控略有不同。擴(kuò)展和容量規(guī)劃在本地是不同的。因此,在監(jiān)控本地機(jī)器的使用情況時(shí),您會(huì)更經(jīng)常地查看長(zhǎng)期使用模式。由于擴(kuò)展數(shù)據(jù)中心通常需要數(shù)周時(shí)間,因此您必須更早地預(yù)測(cè)增加容量的需求。
您通常用于本地監(jiān)控的實(shí)際工具也不同于您用于監(jiān)控云的工具。傳統(tǒng)上,這些工具要求您在基礎(chǔ)架構(gòu)中的某處安裝和管理監(jiān)控服務(wù)器。這意味著您還需要關(guān)心諸如容量監(jiān)控和工具本身升級(jí)之類的事情。
云監(jiān)控
即使監(jiān)控的總體思路保持不變,但如果您的應(yīng)用程序在云中運(yùn)行,您的監(jiān)控重點(diǎn)將有所不同。對(duì)于初學(xué)者來說,您不會(huì)關(guān)心(甚至無(wú)法訪問)溫度和風(fēng)扇速度之類的東西。通常,與本地不同,您只會(huì)監(jiān)控機(jī)器上的一兩層。例如,如果您的應(yīng)用程序在虛擬機(jī)中運(yùn)行,那么在云中,您只需擔(dān)心該虛擬機(jī)的 CPU 和內(nèi)存使用情況。但是,在本地,您不僅要監(jiān)控該虛擬機(jī),還要監(jiān)控底層的裸機(jī)服務(wù)器。
另一件事是云為您提供了很大的靈活性和快速擴(kuò)展。這意味著您的監(jiān)控需要對(duì)資源消耗的峰值做出快速反應(yīng),以便有效地使用自動(dòng)縮放功能。說到自動(dòng)縮放,在云中您肯定要監(jiān)控的是成本。與您的成本是靜態(tài)的本地部署不同,在云中,您(通常)按使用付費(fèi)。因此,您不僅要監(jiān)控整體增長(zhǎng)的成本,還需要找到過度使用(甚至未使用)的資源,以便縮減(或關(guān)閉)資源以節(jié)省成本。
談到工具,那些旨在監(jiān)控云的工具通常以軟件即服務(wù) (SaaS) 的形式出現(xiàn)。您無(wú)需安裝和管理實(shí)際的監(jiān)控工具。您只需要將所有指標(biāo)發(fā)送給它。
如何監(jiān)控混合云基礎(chǔ)設(shè)施
正如我們之前提到的,您有兩個(gè)選擇。一種解決方案是使用兩種不同的工具(一種更適合本地,一種更適合云)。令人驚訝的是,這是一種非常常見的方法,但出于錯(cuò)誤的原因。公司不會(huì)從頭開始構(gòu)建混合基礎(chǔ)架構(gòu)。當(dāng)他們想要將本地部署緩慢遷移到云時(shí),他們最終會(huì)使用混合基礎(chǔ)架構(gòu)。這意味著,通常,他們已經(jīng)設(shè)計(jì)了一個(gè)本地監(jiān)控系統(tǒng),并且已經(jīng)運(yùn)行了很多年。這就是為什么當(dāng)他們?cè)谠浦羞~出第一步時(shí),他們通常會(huì)為云創(chuàng)建一個(gè)新的監(jiān)控系統(tǒng)。這是因?yàn)橥ǔ?huì)組建一個(gè)全新的團(tuán)隊(duì)來管理云環(huán)境。但是分別監(jiān)控這兩種環(huán)境會(huì)帶來很多缺點(diǎn)。
在混合云中,系統(tǒng)的一部分在本地運(yùn)行,一部分在云中。但歸根結(jié)底,它是同一個(gè)系統(tǒng)。他們一起工作。因此,用一種工具監(jiān)控其中的一部分,用另一種工具監(jiān)控部分會(huì)使您處于“錯(cuò)過大局”的危險(xiǎn)境地。一些公司意識(shí)到了這一點(diǎn),那么他們會(huì)怎么做呢?他們將本地監(jiān)控?cái)U(kuò)展到監(jiān)控云的某些部分,并嘗試使用云監(jiān)控工具來監(jiān)控部分本地。這部分解決了對(duì)整個(gè)系統(tǒng)進(jìn)行概覽的問題,但產(chǎn)生了一個(gè)新問題。現(xiàn)在您監(jiān)視相同的系統(tǒng)兩次。那效率不高。
統(tǒng)一監(jiān)控
那么解決方案是什么?統(tǒng)一監(jiān)控!不要將混合云視為兩個(gè)獨(dú)立的環(huán)境。將它們視為同一系統(tǒng)的兩個(gè)部分,因?yàn)槭聦?shí)上它們是。使用可以很好地監(jiān)控本地和云系統(tǒng)的工具。
即使您有單獨(dú)的團(tuán)隊(duì)管理雙方,您仍然可以從統(tǒng)一監(jiān)控中受益。您的本地團(tuán)隊(duì)將從監(jiān)控工具本身的管理任務(wù)中解脫出來。同時(shí),您的云團(tuán)隊(duì)將對(duì)基礎(chǔ)架構(gòu)的本地部分有很好的了解。在混合環(huán)境中,客戶的請(qǐng)求通常需要訪問本地和云中的一些系統(tǒng)才能完成請(qǐng)求并發(fā)送響應(yīng)。
在這兩個(gè)系統(tǒng)中沒有可見性的情況下,云團(tuán)隊(duì)只能猜測(cè)“如果這些錯(cuò)誤不是來自我們,那么它一定是本地端出了問題。” 同樣的猜測(cè)也會(huì)發(fā)生在本地端。這會(huì)導(dǎo)致調(diào)試過程很長(zhǎng),這也意味著如果發(fā)生真正的災(zāi)難,您的恢復(fù)時(shí)間會(huì)更長(zhǎng)。統(tǒng)一監(jiān)控,無(wú)需猜測(cè)。
將來自所有來源的所有數(shù)據(jù)組合到一個(gè)監(jiān)控系統(tǒng)中帶來了另一個(gè)優(yōu)勢(shì):能夠關(guān)聯(lián)來自不同來源的數(shù)據(jù)。云中 CPU 使用率的增加并不一定意味著云中發(fā)生了某些事情。這可能意味著本地系統(tǒng)對(duì)云請(qǐng)求的響應(yīng)速度較慢;因此,云系統(tǒng)需要付出額外的努力來滿足需求(更多的 CPU 用于緩存或更多的 CPU I/O 等待時(shí)間)。統(tǒng)一監(jiān)控可幫助您輕松發(fā)現(xiàn)此類情況。
概括
監(jiān)控混合云的總體思路很簡(jiǎn)單。您需要了解本地和云環(huán)境發(fā)生了什么。在實(shí)踐中,這通常是通過擁有兩個(gè)獨(dú)立的監(jiān)控解決方案來實(shí)現(xiàn)的。雖然這并非完全錯(cuò)誤,但在這篇文章中,我們?cè)噲D向您展示不同方法的好處。
使用一種監(jiān)控工具監(jiān)控您的混合云會(huì)更好。它不僅有助于減少本地和云團(tuán)隊(duì)的調(diào)試時(shí)間,還允許您關(guān)聯(lián)來自系統(tǒng)不同部分的數(shù)據(jù)。最重要的是,如果您將應(yīng)用程序監(jiān)控添加到同一解決方案中,您會(huì)發(fā)現(xiàn)自己對(duì)系統(tǒng)的任何部分都有很好的可見性。